home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1995 March / macformat-022.iso / Shareware City / Developers / src / out-of-phase-102-c / OutOfPhase 1.02 Source / OutOfPhase Folder / ASTAssignment.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-11-23  |  1.3 KB  |  49 lines  |  [TEXT/KAHL]

  1. /* ASTAssignment.h */
  2.  
  3. #ifndef Included_ASTAssignment_h
  4. #define Included_ASTAssignment_h
  5.  
  6. /* ASTAssignment module depends on */
  7. /* MiscInfo.h */
  8. /* Audit */
  9. /* Debug */
  10. /* Definitions */
  11. /* ASTExpression */
  12. /* TrashTracker */
  13. /* Memory */
  14. /* PcodeObject */
  15. /* CompilerRoot */
  16. /* PromotableTypeCheck */
  17. /* ASTOperand */
  18. /* SymbolTableEntry */
  19. /* ASTBinaryOperator */
  20.  
  21. #include "PcodeObject.h"
  22. #include "CompilerRoot.h"
  23.  
  24. struct ASTAssignRec;
  25. typedef struct ASTAssignRec ASTAssignRec;
  26.  
  27. /* all memory allocated in this module is through TrashTracker */
  28.  
  29. /* forward */
  30. struct TrashTrackRec;
  31. struct ASTExpressionRec;
  32.  
  33. /* create a new assignment node */
  34. ASTAssignRec*                NewAssignment(struct ASTExpressionRec* LeftValue,
  35.                                             struct ASTExpressionRec* RightValue,
  36.                                             struct TrashTrackRec* TrashTracker, long LineNumber);
  37.  
  38. /* type check the assignment node.  this returns eCompileNoError if */
  39. /* everything is ok, and the appropriate type in *ResultingDataType. */
  40. CompileErrors                TypeCheckAssignment(DataTypes* ResultingDataType,
  41.                                             ASTAssignRec* Assignment, long* ErrorLineNumber,
  42.                                             struct TrashTrackRec* TrashTracker);
  43.  
  44. /* generate code for an assignment.  returns True if successful, or False if it fails. */
  45. MyBoolean                        CodeGenAssignment(struct PcodeRec* FuncCode,
  46.                                             long* StackDepthParam, ASTAssignRec* Assignment);
  47.  
  48. #endif
  49.